home *** CD-ROM | disk | FTP | other *** search
/ Animation / Animation Vol.1 (Profi ROM)(1994).iso / pvquan15 / shapes.dat < prev    next >
Text File  |  1991-09-22  |  4KB  |  189 lines

  1. // Persistence of Vision Raytracer
  2. // Standard shapes include file
  3. // 
  4.  
  5. #declare QSphere = quadric
  6.     <1.0 1.0 1.0>
  7.     <0.0 0.0 0.0>
  8.     <0.0 0.0 0.0>
  9.     -1.0
  10. end_quadric
  11.  
  12.  
  13. #declare Cylinder_X = quadric
  14.     <0.0 1.0 1.0>
  15.     <0.0 0.0 0.0>
  16.     <0.0 0.0 0.0>
  17.     -1.0
  18. end_quadric
  19.  
  20.  
  21. #declare Cylinder_Y = quadric
  22.     <1.0 0.0 1.0>
  23.     <0.0 0.0 0.0>
  24.     <0.0 0.0 0.0>
  25.     -1.0
  26. end_quadric
  27.  
  28.  
  29. #declare Cylinder_Z = quadric
  30.     <1.0 1.0 0.0>
  31.     <0.0 0.0 0.0>
  32.     <0.0 0.0 0.0>
  33.     -1.0
  34. end_quadric
  35.  
  36.  
  37. #declare Cone_X = quadric
  38.     <-1.0 1.0 1.0>
  39.     <0.0 0.0 0.0>
  40.     <0.0 0.0 0.0>
  41.     0.0
  42. end_quadric
  43.  
  44.  
  45. #declare Cone_Y = quadric
  46.     <1.0 -1.0 1.0>
  47.     <0.0 0.0 0.0>
  48.     <0.0 0.0 0.0>
  49.     0.0
  50. end_quadric
  51.  
  52.  
  53. #declare Cone_Z = quadric
  54.     <1.0 1.0 -1.0>
  55.     <0.0 0.0 0.0>
  56.     <0.0 0.0 0.0>
  57.     0.0
  58. end_quadric
  59.  
  60.  
  61. #declare Plane_YZ = quadric
  62.     <0.0 0.0 0.0>
  63.     <0.0 0.0 0.0>
  64.     <1.0 0.0 0.0>
  65.     0.0
  66. end_quadric
  67.  
  68.        
  69. #declare Plane_XZ = quadric
  70.     <0.0 0.0 0.0>
  71.     <0.0 0.0 0.0>
  72.     <0.0 1.0 0.0>
  73.     0.0
  74. end_quadric
  75.  
  76.        
  77. #declare Plane_XY = quadric
  78.     <0.0 0.0 0.0>
  79.     <0.0 0.0 0.0>
  80.     <0.0 0.0 1.0>
  81.     0.0
  82. end_quadric
  83.  
  84.  
  85. { y^2 + z^2 - x = 0 }
  86. #declare Paraboloid_X = quadric
  87.     <0.0  1.0  1.0>
  88.     <0.0  0.0  0.0>
  89.     <-1.0 0.0  0.0>
  90.     0.0
  91. end_quadric
  92.  
  93.  
  94. { x^2 + z^2 - y = 0 }
  95. #declare Paraboloid_Y = quadric
  96.     <1.0  0.0  1.0>
  97.     <0.0  0.0  0.0>
  98.     <0.0 -1.0  0.0>
  99.     0.0
  100. end_quadric
  101.  
  102.  
  103. { x^2 + y^2 - z = 0 }
  104. #declare Paraboloid_Z = quadric
  105.     <1.0  1.0  0.0>
  106.     <0.0  0.0  0.0>
  107.     <0.0  0.0 -1.0>
  108.     0.0
  109. end_quadric
  110.  
  111.  
  112. { y - x^2 + z^2 = 0 }
  113. #declare Hyperboloid = quadric
  114.     < -1.0  0.0  1.0>
  115.     <  0.0  0.0  0.0>
  116.     <  0.0  1.0  0.0>
  117.     0.0
  118. end_quadric
  119.  
  120.  
  121. #declare Hyperboloid_Y = quadric  { Vertical hyperboloid }
  122.     <1.0 -1.0  1.0>          {                      }
  123.     <0.0  0.0  0.0>          {            \   /     }
  124.     <0.0  0.0  0.0>          { Like this:  ) (      }
  125.     -1.0                     {            /   \     }
  126. end_quadric
  127.  
  128.  
  129. #declare Cube = intersection
  130.     plane <0.0 0.0 1.0> 1.0 end_plane
  131.     plane <0.0 0.0 -1.0> 1.0 end_plane
  132.     plane <0.0 1.0 0.0> 1.0 end_plane
  133.     plane <0.0 -1.0 0.0> 1.0 end_plane
  134.     plane <1.0 0.0 0.0> 1.0 end_plane
  135.     plane <-1.0 0.0 0.0> 1.0 end_plane
  136. end_intersection
  137.  
  138.  
  139. #declare Tetrahedron = intersection
  140.     plane <0.0 -1.0 0.0> 1.0 end_plane
  141.     plane <0.0 0.0 1.0> 1.0 rotate <-30.0 0.0 0.0> end_plane
  142.     plane <1.0 0.0 0.0> 1.0 rotate <0.0 30.0 30.0> end_plane
  143.     plane <-1.0 0.0 0.0> 1.0 rotate <0.0 -30.0 -30.0> end_plane
  144. end_intersection
  145.  
  146.  
  147. #declare X_Disk = intersection       { Capped cylinder, Length in x axis }
  148.   quadric Cylinder_X end_quadric
  149.   plane <1.0 0.0 0.0> 0.0 inverse end_plane
  150.   plane <1.0 0.0 0.0> 1.0 end_plane
  151. end_intersection
  152.  
  153.  
  154. #declare Y_Disk = intersection       { Capped cylinder, Length in y axis }
  155.   quadric Cylinder_Y end_quadric
  156.   plane <0.0 1.0 0.0> 0.0 inverse end_plane
  157.   plane <0.0 1.0 0.0> 1.0 end_plane
  158. end_intersection
  159.  
  160.  
  161. #declare Z_Disk = intersection       { Capped cylinder, Length in z axis }
  162.   quadric Cylinder_Z end_quadric
  163.   plane <0.0 0.0 1.0> 0.0 inverse end_plane
  164.   plane <0.0 0.0 1.0> 1.0 end_plane
  165. end_intersection
  166.  
  167.  
  168. #declare Hexagon = intersection            { Hexagonal Solid, axis along x }
  169.     plane <0.0 0.0 1.0> 1.0 end_plane   { Rotate 90 in z axis to stand up }
  170.     plane <0.0 0.0 1.0> 1.0 rotate <60.0 0.0 0.0> end_plane
  171.     plane <0.0 0.0 1.0> 1.0 rotate <120.0 0.0 0.0> end_plane
  172.     plane <0.0 0.0 1.0> 1.0 rotate <180.0 0.0 0.0> end_plane
  173.     plane <0.0 0.0 1.0> 1.0 rotate <240.0 0.0 0.0> end_plane
  174.     plane <0.0 0.0 1.0> 1.0 rotate <300.0 0.0 0.0> end_plane
  175.     plane <1.0 0.0 0.0> 1.0 end_plane
  176.     plane <1.0 0.0 0.0> -1.0 inverse end_plane
  177. end_intersection
  178.  
  179. #declare Rhomboid =            { Three Dimensional 4-Sided Diamond }
  180. intersection
  181.     plane <-1.0  0.0  0.0>  1.0 rotate <0.0 0.0 -30.0> end_plane
  182.     plane < 1.0  0.0  0.0>  1.0 rotate <0.0 0.0 -30.0> end_plane
  183.     plane < 0.0  0.0  1.0>  1.0 end_plane
  184.     plane < 0.0  0.0 -1.0>  1.0 end_plane
  185.     plane < 0.0  1.0  0.0>  1.0 end_plane
  186.     plane < 0.0 -1.0  0.0>  1.0 end_plane
  187. end_intersection
  188.  
  189.